package com.hankai.util;

import org.slf4j.*;

import java.math.BigDecimal;

/**
 * Created by hankai on 2017/6/8.
 */
public class BigDecimalUtil {
    private static Logger logger = LoggerFactory.getLogger(BigDecimalUtil.class);
    /**
     * 两数相加
     * @param d1
     * @param d2
     * @return
     */
    public static BigDecimal add(Double d1,Double d2){
        BigDecimal bd1 = new BigDecimal(d1.toString());
        BigDecimal bd2 = new BigDecimal(d2.toString());
        return bd1.add(bd2);
    }

    /**
     * 两数相剑（第一个参数减去第二个参数）
     * @param d1
     * @param d2
     * @return
     */
    public static BigDecimal sub(Double d1,Double d2){
        BigDecimal bd1 = new BigDecimal(d1.toString());
        BigDecimal bd2 = new BigDecimal(d2.toString());
        return bd1.subtract(bd2);
    }
    /**
     * 两数相乘
     * @param d1
     * @param d2
     * @return
     */
    public static BigDecimal mul(Double d1,Double d2){
        BigDecimal bd1 = new BigDecimal(d1.toString());
        BigDecimal bd2 = new BigDecimal(d2.toString());
        return bd1.multiply(bd2);
    }
    /**
     * 两数相除
     * @param d1
     * @param d2
     * @return
     */
    public static BigDecimal div(Double d1,Double d2){
        BigDecimal bd1 = new BigDecimal(d1.toString());
        BigDecimal bd2 = new BigDecimal(d2.toString());
        try {
            return bd1.divide(bd2,2,BigDecimal.ROUND_HALF_UP);
        } catch (Exception e) {
            logger.error("被除数不能为0，或者其他输入错误",e);
        }
        return null;
    }
}
